package com.sc.nft.feign;

import com.sc.nft.dto.AddAPermissionPackageDTO;
import com.sc.nft.dto.GetsAllPermissionPackagesDTO;
import com.sc.nft.dto.IdRequest;
import com.sc.nft.sup.PageResult;
import com.sc.nft.sup.Result;
import com.sc.nft.vo.GetsAllPermissionPackagesVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

@FeignClient(name = "nft-commercial", path = "/commercial/merchantExtraPermission")
public interface MerchantExtraPermissionClient {

    /**
     * 新增一个权限包
     *
     * @param addAPermissionPackageDTO
     * @return
     */
    @PostMapping("/addAPermissionPackage")
    Result addAPermissionPackage(@RequestBody AddAPermissionPackageDTO addAPermissionPackageDTO);

    /**
     * 获取所有权限包
     *
     * @param getsAllPermissionPackages
     * @return
     */
    @PostMapping("/getsAllPermissionPackages")
    PageResult<GetsAllPermissionPackagesVO> getsAllPermissionPackages(@RequestBody GetsAllPermissionPackagesDTO getsAllPermissionPackages);

    /**
     * deletePermissionPackage
     *
     * @param idRequest
     * @return
     */
    @PostMapping("/deletePermissionPackage")
    Result deletePermissionPackage(@RequestBody IdRequest idRequest);

}
